home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / BlankWin.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  2KB  |  91 lines

  1. #ifndef BlankWin_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define BlankWin_First
  6.  
  7. #include "Clipper.h"
  8.  
  9. extern Token gToken;
  10. extern bool gBatch;
  11. extern class BlankWin *gWindow;
  12.  
  13.  
  14. enum BWinFlags {
  15.     eBWinOverlay=   BIT(eClipperLast+1),
  16.     eBWinBlock  =   BIT(eClipperLast+2),
  17.     eBWinActive =   BIT(eClipperLast+3),
  18.     eBWinFixed  =   BIT(eClipperLast+4),
  19.     eBWinWasOpen=   BIT(eClipperLast+5),
  20.     eBWinDefault=   0,
  21.     eBWinLast   =   eClipperLast+5
  22. };
  23.  
  24. class BlankWin: public Clipper {
  25. protected:
  26.     GrCursor cursor;
  27.     class WindowPort *portDesc;     // Port descriptor
  28.     EvtHandler *nexthandler;
  29.  
  30.     void Init(EvtHandler *eh, GrCursor curs, BWinFlags f);
  31.     virtual class WindowPort *MakePort();
  32. public:
  33.     MetaDef(BlankWin);
  34.     
  35.     BlankWin(Point minsize= gPoint0, BWinFlags f= eBWinDefault);
  36.     BlankWin(VObject *vp= 0, Point minsize= gPoint0, BWinFlags f= eBWinDefault,
  37.             Ink *bg= ePatWhite, GrCursor curs= eCrsBoldArrow);
  38.     BlankWin(EvtHandler *eh, VObject *vp= 0, Point minsize= gPoint0,
  39.                         BWinFlags f= eBWinDefault);
  40.     ~BlankWin();
  41.     
  42.     EvtHandler *GetNextHandler();
  43.     
  44.     void input(Token*);
  45.     void Update();
  46.     void SetOrigin(Point at);
  47.     void SetExtent(Point e);
  48.     void SetFocus(Rectangle, Point);
  49.     void InvalidateRect(Rectangle);
  50.     void PushBackEvent(Token);
  51.     void UpdateEvent();
  52.     void Open(bool mode= TRUE);
  53.     void OpenAt(Point p, VObject *vf= 0);
  54.     Command *GetMover();
  55.     Command *GetStretcher();
  56.     Command *DoLeftButtonDownCommand(Point, Token, int);
  57.     GrCursor GetCursor(Point);
  58.  
  59.     PortDesc GetPortDesc()
  60.     { return (PortDesc)portDesc; }
  61.     void SetPortDesc(PortDesc newport)
  62.     { portDesc= (class WindowPort*)newport; }
  63.     Rectangle ScreenRect();
  64.     Rectangle GetRect();
  65.     Token ReadEvent(int timeout= -1, bool overread= TRUE);
  66.     void Bell(long d= 100);
  67.     void SetMousePos(Point);
  68.     void Grab(bool on, bool fullscreen);
  69.     void Top();
  70.     void Bottom();
  71.  
  72.     //---- Menu related methods
  73.     class Menu *GetMenu();
  74.     void DoCreateMenu(class Menu *);
  75.     void DoSetupMenu(class Menu *);
  76.     Command *DoMenuCommand(int);
  77. };
  78.  
  79. //---- BlankWindowStretcher ---------------------------------------------------------
  80.  
  81. class BlankWindowStretcher: public VObjectStretcher {
  82.     Point ddd;
  83. public:
  84.     BlankWindowStretcher(BlankWin *w, Rectangle r);
  85.     Command *TrackMouse(TrackPhase, Point, Point, Point);
  86.     void TrackConstrain(Point ap, Point pp, Point *np);
  87. };
  88.  
  89. #endif BlankWin_First
  90.  
  91.